package clue

import (
	"context"
	cluePb "git.mycaigou.com/gfyx/micro-gfyx-mp-api/proto/micro_gfyx_oppty_service_proto/micro-gfyx-oppty-service/clue"
)

type ClueRepositoryIface interface {
	//AddClueSourceFollow 添加线索跟进记录
	AddClueSourceFollow(ctx context.Context, request *cluePb.AddClueSourceFollowRequest) (*cluePb.AddClueSourceFollowResponse, error)
	SaveClue(ctx context.Context, request *cluePb.SaveClueRequest) (*cluePb.SaveClueResponse, error)
	GetClueList(ctx context.Context, request *cluePb.GetClueListRequest) (*cluePb.GetClueListResponse, error)
	GetClueDetail(ctx context.Context, request *cluePb.GetClueDetailByClueIdRequest) (*cluePb.GetClueDetailByClueIdResponse, error)
	DeleteClue(ctx context.Context, request *cluePb.DeleteClueRequest) (*cluePb.DeleteClueResponse, error)
	ExportClueList(ctx context.Context, request *cluePb.ExportClueListRequest) (*cluePb.ExportClueListResponse, error)

	SaveClueTracker(ctx context.Context, request *cluePb.SaveClueTrackerRequest) (*cluePb.SaveClueTrackerResponse, error)
	GetClueTrackerList(ctx context.Context, request *cluePb.GetClueTrackerListRequest) (*cluePb.GetClueTrackerListResponse, error)
	DeleteClueTracker(ctx context.Context, request *cluePb.DeleteClueTrackerRequest) (*cluePb.DeleteClueTrackerResponse, error)
	ReplaceChargeUser(ctx context.Context, request *cluePb.ReplaceChargeUserRequest) (*cluePb.ReplaceChargeUserResponse, error)
	GetInChargeUserList(ctx context.Context, request *cluePb.GetInChargeUserListRequest) (*cluePb.GetInChargeUserListResponse, error)

	SaveClueContact(ctx context.Context, request *cluePb.SaveClueContactRequest) (*cluePb.SaveClueContactResponse, error)
	DeleteClueContact(ctx context.Context, request *cluePb.DeleteClueContactRequest) (*cluePb.DeleteClueContactResponse, error)
	GetClueContactList(ctx context.Context, request *cluePb.GetClueContactListRequest) (*cluePb.GetClueContactListResponse, error)
	GetClueContactDetailById(ctx context.Context, request *cluePb.GetClueContactDetailByIdRequest) (*cluePb.GetClueContactDetailByIdResponse, error)

	AddClueFollowRecord(ctx context.Context, request *cluePb.AddClueFollowRecordRequest) (*cluePb.AddClueFollowRecordResponse, error)
	GetClueFollowRecordList(ctx context.Context, request *cluePb.GetClueFollowRecordListRequest) (*cluePb.GetClueFollowRecordListResponse, error)
}
